home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / python2.4 / fileobject.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-10-18  |  2.2 KB  |  64 lines

  1.  
  2. /* File object interface */
  3.  
  4. #ifndef Py_FILEOBJECT_H
  5. #define Py_FILEOBJECT_H
  6. #ifdef __cplusplus
  7. extern "C" {
  8. #endif
  9.  
  10. typedef struct {
  11.     PyObject_HEAD
  12.     FILE *f_fp;
  13.     PyObject *f_name;
  14.     PyObject *f_mode;
  15.     int (*f_close)(FILE *);
  16.     int f_softspace;    /* Flag used by 'print' command */
  17.     int f_binary;        /* Flag which indicates whether the file is 
  18.                    open in binary (1) or text (0) mode */
  19.     char* f_buf;        /* Allocated readahead buffer */
  20.     char* f_bufend;        /* Points after last occupied position */
  21.     char* f_bufptr;        /* Current buffer position */
  22.     char *f_setbuf;        /* Buffer for setbuf(3) and setvbuf(3) */
  23.     int f_univ_newline;    /* Handle any newline convention */
  24.     int f_newlinetypes;    /* Types of newlines seen */
  25.     int f_skipnextlf;    /* Skip next \n */
  26.     PyObject *f_encoding;
  27.     PyObject *weakreflist; /* List of weak references */
  28. } PyFileObject;
  29.  
  30. PyAPI_DATA(PyTypeObject) PyFile_Type;
  31.  
  32. #define PyFile_Check(op) PyObject_TypeCheck(op, &PyFile_Type)
  33. #define PyFile_CheckExact(op) ((op)->ob_type == &PyFile_Type)
  34.  
  35. PyAPI_FUNC(PyObject *) PyFile_FromString(char *, char *);
  36. PyAPI_FUNC(void) PyFile_SetBufSize(PyObject *, int);
  37. PyAPI_FUNC(int) PyFile_SetEncoding(PyObject *, const char *);
  38. PyAPI_FUNC(PyObject *) PyFile_FromFile(FILE *, char *, char *,
  39.                                              int (*)(FILE *));
  40. PyAPI_FUNC(FILE *) PyFile_AsFile(PyObject *);
  41. PyAPI_FUNC(PyObject *) PyFile_Name(PyObject *);
  42. PyAPI_FUNC(PyObject *) PyFile_GetLine(PyObject *, int);
  43. PyAPI_FUNC(int) PyFile_WriteObject(PyObject *, PyObject *, int);
  44. PyAPI_FUNC(int) PyFile_SoftSpace(PyObject *, int);
  45. PyAPI_FUNC(int) PyFile_WriteString(const char *, PyObject *);
  46. PyAPI_FUNC(int) PyObject_AsFileDescriptor(PyObject *);
  47.  
  48. /* The default encoding used by the platform file system APIs
  49.    If non-NULL, this is different than the default encoding for strings
  50. */
  51. PyAPI_DATA(const char *) Py_FileSystemDefaultEncoding;
  52.  
  53. /* Routines to replace fread() and fgets() which accept any of \r, \n
  54.    or \r\n as line terminators.
  55. */
  56. #define PY_STDIOTEXTMODE "b"
  57. char *Py_UniversalNewlineFgets(char *, int, FILE*, PyObject *);
  58. size_t Py_UniversalNewlineFread(char *, size_t, FILE *, PyObject *);
  59.  
  60. #ifdef __cplusplus
  61. }
  62. #endif
  63. #endif /* !Py_FILEOBJECT_H */
  64.